package com.glink.manage.sip;

import com.alibaba.fastjson.JSONObject;
import com.glink.common.exception.GeneralSimpleException;
import com.glink.manage.dto.sip.*;
import com.glink.manage.vo.sip.*;

import java.util.List;


/**
 * 摄像机ptz控制
 */
public interface EquipSipService {

    /**
     * ptz控制
     */
    void ptzControl(PTZControlDTO dto) throws GeneralSimpleException ;

    /**
     * 点播
     */
    RealStreamVO realPlay(ProxyCommonDTO dto) throws GeneralSimpleException;

    /**
     * 关闭点播
     */
    JSONObject realStop(ProxyCommonDTO dto) throws GeneralSimpleException;

    /**
     * 预置位操作
     */
    void operatePreset(OperatePresetDTO dto) throws GeneralSimpleException;

    /**
     * 获取预置位信息
     */
    List<OperatePresetListVO> getPtzPreset(OperatePresetListDTO dto) throws GeneralSimpleException;

    /**
     * 获取预置位角度
     * @param dto 查询条件
     * @return 角度信息
     * @throws GeneralSimpleException 异常信息
     */
    PresetPositionVO getPresetPosition(PresetPositionDTO dto) throws GeneralSimpleException;

    /**
     * 获取NVR存储空间
     */
    NvrStorageVO findNvrStorageVO(NvrStorageDTO dto) throws GeneralSimpleException;

    /**
     * 3d控制
     */
    void ptzControl3d(PTZ3dCommandDTO dto) throws GeneralSimpleException;

    /**
     * 获取sipServer信息
     */
    SipServerInfoVo getSipServerInfo(String lanType);

    /**
     * 3d控制
     */
    AudioBroadcastResultVO broadcastApi(BroadcastDTO dto) throws GeneralSimpleException;

}
